package com.yic.module.wms.dal.dataobject.itemwarehouse;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.yic.framework.mybatis.core.dataobject.BaseDO;

/**
 * 产品仓储信息 DO
 *
 * @author 系统管理员
 */
@TableName("wms_item_warehouse")
@KeySequence("wms_item_warehouse_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ItemWarehouseDO extends BaseDO {

    /**
     * 序号
     */
    @TableId
    private Long id;
    /**
     * 工厂
     */
    private Long factoryId;
    /**
     * 产品
     */
    private Long itemId;
    /**
     * 默认仓库
     */
    private Long warehouseId;
    /**
     * 默认库区
     */
    private Long areaId;
    /**
     * 默认库位
     */
    private Long locationId;
    /**
     * 产品类型
     *
     * 枚举 {@link TODO wms_item_type 对应的类}
     */
    private Integer itemType;
    /**
     * 出库策略
     *
     * 枚举 {@link TODO wms_strategy 对应的类}
     */
    private Integer strategy;
    /**
     * 首次入库日
     */
    private LocalDateTime firstInTime;
    /**
     * 最后入库日
     */
    private LocalDateTime lastInTime;
    /**
     * 最后出库日
     */
    private LocalDateTime lastOutTime;
    /**
     * 标准库存
     */
    private BigDecimal standardStock;
    /**
     * 安全库存
     */
    private BigDecimal salfStock;
    /**
     * 补货点
     */
    private BigDecimal reorderPoint;
    /**
     * 库存
     */
    private BigDecimal stock;
    /**
     * 备注
     */
    private String remark;
    /**
     * 状态
     *
     * 枚举 {@link TODO common_status 对应的类}
     */
    private Byte status;

}
